package com.yunchao.bank.business.data.model

import com.google.gson.annotations.SerializedName

// 电子签封闭锁提交任务
data class SealLockSubmitTaskApiModel(
    /**
     * 业务代码
     */
    @SerializedName("code") val code: Int,
    /**
     * 库存包装信息列表
     */
    @SerializedName("packInfoList") val packInfoList: List<StockPackInfo>? = null
) {
    data class StockPackInfo(
        /**
         * 封包编号
         */
        @SerializedName("sackNo") val sackNo: String? = null,
        /**
         * 券别类型 ID
         */
        @SerializedName("voucherTypeID") val voucherTypeID: String? = null,
        /**
         * 券别类型名称
         */
        @SerializedName("voucherTypeName") val voucherTypeName: String,
        /**
         * 纸张类型 ID
         */
        @SerializedName("paperTypeID") val paperTypeID: String? = null,
        /**
         * 纸张类型名称
         */
        @SerializedName("paperTypeName") val paperTypeName: String,
        /**
         * 券别面值
         */
        @SerializedName("val") val value: String? = null,
        /**
         * 捆数
         */
        @SerializedName("bundles") val bundles: String? = null,
        /**
         * 把数
         */
        @SerializedName("tie") val tie: String? = null,
        /**
         * 封包金额
         */
        @SerializedName("sackMoney") val sackMoney: String? = null,
        /**
         * 操作日期时间
         */
        @SerializedName("oprDT") val oprDT: String? = null,
        /**
         * 封装人 id
         */
        @SerializedName("operatorID") val operatorID: String? = null,
        /**
         * 栈位编码，可为空
         */
        @SerializedName("sstackCode") val sstackCode: String? = null,
        /**
         * 栈位名称，可为空
         */
        @SerializedName("sstackName") val sstackName: String? = null
    )
}

// 电子签封开锁提交任务
data class SealUnlockSubmitTaskApiModel(
    /**
     * 业务代码
     */
    @SerializedName("code") val code: Int,
    /**
     * 库存包装信息列表
     */
    @SerializedName("unPackInfoList") val unPackInfoList: List<StockPackInfo>? = null
) {
    data class StockPackInfo(
        /**
         * 封包编号
         */
        @SerializedName("sackNo") val sackNo: String? = null,
        /**
         * 券别类型 ID
         */
        @SerializedName("voucherTypeID") val voucherTypeID: String? = null,
        /**
         * 券别类型名称
         */
        @SerializedName("voucherTypeName") val voucherTypeName: String,
        /**
         * 纸张类型 ID
         */
        @SerializedName("paperTypeID") val paperTypeID: String? = null,
        /**
         * 纸张类型名称
         */
        @SerializedName("paperTypeName") val paperTypeName: String,
        /**
         * 券别面值
         */
        @SerializedName("val") val value: String? = null,
        /**
         * 捆数
         */
        @SerializedName("bundles") val bundles: String? = null,
        /**
         * 把数
         */
        @SerializedName("tie") val tie: String? = null,
        /**
         * 封包金额
         */
        @SerializedName("sackMoney") val sackMoney: String? = null,

        /**
         * 操作日期时间
         */
        @SerializedName("oprDT") val oprDT: String? = null,
    )
}


// 电子签封分配提交任务
data class SealAllocationSubmitTaskApiModel(
    /**
     * 业务代码
     */
    @SerializedName("code") val code: Int,
    /**
     * 库存信息列表
     */
    @SerializedName("elePackInfoList") val elePackInfoList: List<StockPackInfo>? = null
) {
    data class StockPackInfo(
        /**
         * 封包编号
         */
        @SerializedName("sackNo") val sackNo: String? = null,
        /**
         * 券别类型 ID
         */
        @SerializedName("voucherTypeID") val voucherTypeID: String? = null,
        /**
         * 券别类型名称
         */
        @SerializedName("voucherTypeName") val voucherTypeName: String,
        /**
         * 纸张类型 ID
         */
        @SerializedName("paperTypeID") val paperTypeID: String? = null,
        /**
         * 纸张类型名称
         */
        @SerializedName("paperTypeName") val paperTypeName: String,
        /**
         * 版别 ID
         */
        @SerializedName("editionCode") val editionCode: String,
        /**
         * 版别名称
         */
        @SerializedName("editionName") val editionName: String,
        /**
         * 套别 ID
         */
        @SerializedName("seriesCode") val seriesCode: String,
        /**
         * 套别名称
         */
        @SerializedName("seriesName") val seriesName: String,
        /**
         * 券别面值
         */
        @SerializedName("val") val value: String? = null,
        /**
         * 捆数
         */
        @SerializedName("bundles") val bundles: String? = null,
        /**
         * 封包金额
         */
        @SerializedName("sackMoney") val sackMoney: String? = null,

        /**
         * 团队 ID
         */
        @SerializedName("teamId") val teamId: String? = null,
        /**
         * 团队名称
         */
        @SerializedName("teamName") val teamName: String? = null,

        /**
         * 扫描人员
         */
        @SerializedName("scanUser") val scanUser: String? = null,

        /**
         * 操作日期时间
         */
        @SerializedName("oprDT") val oprDT: String? = null,

        /**
         * 是否有无签封  是否有签封信息 0 是有签封，1 无签封
         */
        @SerializedName("haveBoxInfo") val haveBoxInfo: Int? = null,
    )
}


// 电子签封登记提交任务
data class SealRegistrationSubmitTaskApiModel(
    /**
     * 业务代码
     */
    @SerializedName("code") val code: Int,
    /**
     * 包装信息列表
     */
    @SerializedName("packInfoList") val packInfoList: List<PackInfo>? = null
){
    // 通用包装信息类
    data class PackInfo(
        /**
         * 封包编号
         */
        @SerializedName("sackNo") val sackNo: String? = null,
        /**
         * 券别类型 ID
         */
        @SerializedName("voucherTypeID") val voucherTypeID: String? = null,
        /**
         * 券别类型名称
         */
        @SerializedName("voucherTypeName") val voucherTypeName: String,
        /**
         * 券别面值
         */
        @SerializedName("val") val value: String? = null,
        @SerializedName("oprDT") val oprDT: String? = null,
        @SerializedName("stackCode") val stackCode: String? = null,
    )
}


// 电子签封出库提交任务
data class SealOutboundSubmitTaskApiModel(
    /**
     * 业务代码
     */
    @SerializedName("code") val code: Int,
    /**
     * 库存包装信息列表
     */
    @SerializedName("transferDataList") val transferDataList: List<StockPackInfo>? = null
){
    data class StockPackInfo(
        /**
         * 锁条号
         */
        @SerializedName("sackNo") val sackNo: String? = null,

        /**
         * 券别类型 ID
         */
        @SerializedName("voucherTypeID") val voucherTypeID: String? = null,
        /**
         * 券别类型名称
         */
        @SerializedName("voucherTypeName") val voucherTypeName: String? = null,
        /**
         * 券别说明 ID
         */
        @SerializedName("paperTypeID") val paperTypeID: String? = null,
        /**
         * 券别说明名称
         */
        @SerializedName("paperTypeName") val paperTypeName: String? = null,
        /**
         * 券别面值
         */
        @SerializedName("val") val value: String? = null,
        /**
         * 捆数
         */
        @SerializedName("bundles") val bundles: String? = null,
        /**
         * 把数
         */
        @SerializedName("tie") val tie: String? = null,
        /**
         * 封装金额
         */
        @SerializedName("sackMoney") val sackMoney: String? = null,
        /**
         * 是否必出箱 0-否 1-是
         */
        @SerializedName("mustOutFlag") val mustOutFlag: String? = null,
        /**
         * 封装时间
         */
        @SerializedName("oprDT") val oprDT: String? = null,
        /**
         * 库间编号
         */
        @SerializedName("sstackCode") val sstackCode: String? = null,

        )
}




// 电子签封入库提交任务
data class SealInboundSubmitTaskApiModel(
    /**
     * 业务代码
     */
    @SerializedName("code") val code: Int,
    /**
     * 库存包装信息列表
     */
    @SerializedName("packInfoList") val packInfoList: List<PackInfo>? = null
){
    data class PackInfo(
        /**
         * 锁条号
         */
        @SerializedName("sackNo") val sackNo: String? = null,

        /**
         * 券别类型 ID
         */
        @SerializedName("voucherTypeID") val voucherTypeID: String? = null,
        /**
         * 券别类型名称
         */
        @SerializedName("voucherTypeName") val voucherTypeName: String? = null,
        /**
         * 券别说明 ID
         */
        @SerializedName("paperTypeID") val paperTypeID: String? = null,
        /**
         * 券别说明名称
         */
        @SerializedName("paperTypeName") val paperTypeName: String? = null,
        /**
         * 券别面值
         */
        @SerializedName("val") val value: String? = null,
        /**
         * 捆数
         */
        @SerializedName("bundles") val bundles: String? = null,
        /**
         * 把数
         */
        @SerializedName("tie") val tie: String? = null,
        /**
         * 封装金额
         */
        @SerializedName("sackMoney") val sackMoney: String? = null,
        /**
         * 封装时间
         */
        @SerializedName("oprDT") val oprDT: String? = null,

        @SerializedName("sstackCode") val sstackCode: String? = null,

        @SerializedName("sstackName") val sstackName: String? = null,


        )
}


// 电子签封交接提交任务
data class SealHandoverSubmitTaskApiModel(
    /**
     * 业务代码
     */
    @SerializedName("code") val code: Int,
    /**
     * 库存包装信息列表
     */
    @SerializedName("packInfoList") val packInfoList: List<StockPackInfo>? = null
){
    data class StockPackInfo(
        @SerializedName("bankCode") val bankCode: String? = null,
        @SerializedName("bankName") val bankName: String? = null,

        /**
         * 锁条号
         */
        @SerializedName("sackNo") val sackNo: String? = null,


        /**
         * 券别类型 ID
         */
        @SerializedName("voucherTypeID") val voucherTypeID: String? = null,
        /**
         * 券别类型名称
         */
        @SerializedName("voucherTypeName") val voucherTypeName: String? = null,
        /**
         * 券别说明 ID
         */
        @SerializedName("paperTypeID") val paperTypeID: String? = null,
        /**
         * 券别说明名称
         */
        @SerializedName("paperTypeName") val paperTypeName: String? = null,

        @SerializedName("editionCode") val editionCode: String? = null,
        @SerializedName("editionName") val editionName: String? = null,

        /**
         * 券别面值
         */
        @SerializedName("val") val value: String? = null,
        /**
         * 捆数
         */
        @SerializedName("bundles") val bundles: String? = null,

        /**
         * 封装金额
         */
        @SerializedName("sackMoney") val sackMoney: String? = null,
        /**
         * 封装时间
         */
        @SerializedName("oprDT") val oprDT: String? = null,


        )
}


// 电子签封核对提交任务
data class SealVerificationSubmitTaskApiModel(
    /**
     * 业务代码
     */
    @SerializedName("code") val code: Int,
    /**
     * 库存包装信息列表
     */
    @SerializedName("packInfoList") val packInfoList: List<StockPackInfo>? = null
){
    data class StockPackInfo(
        /**
         * 锁条号
         */
        @SerializedName("sackNo") val sackNo: String? = null,

        /**
         * 券别类型 ID
         */
        @SerializedName("voucherTypeID") val voucherTypeID: String? = null,
        /**
         * 券别类型名称
         */
        @SerializedName("voucherTypeName") val voucherTypeName: String? = null,
        /**
         * 券别说明 ID
         */
        @SerializedName("paperTypeID") val paperTypeID: String? = null,
        /**
         * 券别说明名称
         */
        @SerializedName("paperTypeName") val paperTypeName: String? = null,
        /**
         * 券别面值
         */
        @SerializedName("val") val value: String? = null,
        /**
         * 捆数
         */
        @SerializedName("bundles") val bundles: String? = null,
        /**
         * 封装金额
         */
        @SerializedName("sackMoney") val sackMoney: String? = null,

        /**
         * 封装时间
         */
        @SerializedName("oprDT") val oprDT: String? = null,

        @SerializedName("sstackCode") val sstackCode: String? = null,
        @SerializedName("sstackName") val sstackName: String? = null,
        @SerializedName("status") val status: Int? = null,

        )
}


// 空电子签封入库提交任务
data class EmptySealInboundSubmitTaskApiModel(
    /**
     * 业务代码
     */
    @SerializedName("code") val code: Int,
    /**
     * 库存包装信息列表
     */
    @SerializedName("packInfoList") val packInfoList: List<PackInfo>? = null
){
    data class PackInfo(
        /**
         * 锁条号
         */
        @SerializedName("sackNo") val sackNo: String? = null,

        /**
         * 券别类型 ID
         */
        @SerializedName("voucherTypeID") val voucherTypeID: String? = null,
        /**
         * 券别类型名称
         */
        @SerializedName("voucherTypeName") val voucherTypeName: String? = null,
        /**
         * 券别面值
         */
        @SerializedName("val") val value: String? = null,
    )
}



// 入库核对提交任务
data class InboundVerificationSubmitTaskApiModel(
    /**
     * 业务代码
     */
    @SerializedName("code") val code: Int,
    /**
     * 库存包装信息列表
     */
    @SerializedName("packInfoList") val packInfoList: List<PackInfo>? = null
){
    data class PackInfo(
        /**
         * 锁条号
         */
        @SerializedName("sackNo") val sackNo: String? = null,

        /**
         * 券别类型 ID
         */
        @SerializedName("voucherTypeID") val voucherTypeID: String? = null,
        /**
         * 券别类型名称
         */
        @SerializedName("voucherTypeName") val voucherTypeName: String? = null,
        /**
         * 券别说明 ID
         */
        @SerializedName("paperTypeID") val paperTypeID: String? = null,
        /**
         * 券别说明名称
         */
        @SerializedName("paperTypeName") val paperTypeName: String? = null,
        /**
         * 券别面值
         */
        @SerializedName("val") val value: String? = null,
        /**
         * 捆数
         */
        @SerializedName("bundles") val bundles: String? = null,
        /**
         * 把数
         */
        @SerializedName("tie") val tie: String? = null,
        /**
         * 封装金额
         */
        @SerializedName("sackMoney") val sackMoney: String? = null,

        /**
         * 封装时间
         */
        @SerializedName("oprDT") val oprDT: String? = null,

        @SerializedName("sstackCode") val sstackCode: String? = null,
        @SerializedName("sstackName") val sstackName: String? = null,

        )
}
